﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.Serialization;
using System.ServiceModel;
using System.ServiceModel.Web;
using System.Text;

namespace Wcf_assassins
{

   [ServiceContract(Namespace = "http://178.170.113.214:81/")]
    public interface IServiceAssassin
    {
       [OperationContract]
       [WebGet(           
            UriTemplate = "enregisterDonnees/{idUtilisateur}/{latitude}/{longitude}",
            BodyStyle = WebMessageBodyStyle.WrappedRequest,
            ResponseFormat = WebMessageFormat.Json,
            RequestFormat = WebMessageFormat.Json)]
       Boolean enregisterDonnees(String idUtilisateur, String latitude, String longitude);

       [OperationContract]
       [WebGet(           
            UriTemplate = "inscrireUtilisateur/{pseudo}/{motDePasse}/{email}",
            BodyStyle = WebMessageBodyStyle.WrappedRequest,
            ResponseFormat = WebMessageFormat.Json,
            RequestFormat = WebMessageFormat.Json)]
       Boolean inscrireUtilisateur(String pseudo, String motDePasse, String email);

       [OperationContract]
       [WebGet(           
            UriTemplate = "authentifierUtilisateur/{pseudo}/{motDePasse}",
            BodyStyle = WebMessageBodyStyle.WrappedRequest,
            ResponseFormat = WebMessageFormat.Json,
            RequestFormat = WebMessageFormat.Json)]
       int authentifierUtilisateur(String pseudo, String motDePasse);

       [OperationContract]
       [WebGet(           
            UriTemplate = "utilisateursEnvironnants/{idUtilisateur}",
            BodyStyle = WebMessageBodyStyle.WrappedRequest,
            ResponseFormat = WebMessageFormat.Json,
            RequestFormat = WebMessageFormat.Json)]
       List<DC_Utilisateur> utilisateursEnvironnants(String idUtilisateur);

       [OperationContract]
       [WebGet(           
            UriTemplate = "getUtilisateur/{idUtilisateur}",
            BodyStyle = WebMessageBodyStyle.WrappedRequest,
            ResponseFormat = WebMessageFormat.Json,
            RequestFormat = WebMessageFormat.Json)]
       DC_Utilisateur getUtilisateur(String idUtilisateur);   

       [OperationContract]
       [WebGet(           
            UriTemplate = "chrono/{joueur}/{cible}",
            BodyStyle = WebMessageBodyStyle.WrappedRequest,
            ResponseFormat = WebMessageFormat.Json,
            RequestFormat = WebMessageFormat.Json)]
       int chrono(String joueur, String cible);

       [OperationContract]
       [WebGet(
            UriTemplate = "assassinat/{joueur}/{cible}",
            BodyStyle = WebMessageBodyStyle.WrappedRequest,
            ResponseFormat = WebMessageFormat.Json,
            RequestFormat = WebMessageFormat.Json)]
      int assassinat(String joueur, String cible);

       [OperationContract]
       [WebGet(
            UriTemplate = "espionnage/{joueur}/{cible}/{espion}",
            BodyStyle = WebMessageBodyStyle.WrappedRequest,
            ResponseFormat = WebMessageFormat.Json,
            RequestFormat = WebMessageFormat.Json)]
       int espionnage(String joueur, String cible, String espion);

       [OperationContract]
       [WebGet(           
            UriTemplate = "getcible/{joueur}",
            BodyStyle = WebMessageBodyStyle.WrappedRequest,
            ResponseFormat = WebMessageFormat.Json,
            RequestFormat = WebMessageFormat.Json)]
       int getcible(String joueur);

       [OperationContract]
       [WebGet(
            UriTemplate = "getobjet",
            BodyStyle = WebMessageBodyStyle.WrappedRequest,
            ResponseFormat = WebMessageFormat.Json,
            RequestFormat = WebMessageFormat.Json)]
       int getobjet();

       [OperationContract]
       [WebGet(
            UriTemplate = "topusers",
            BodyStyle = WebMessageBodyStyle.WrappedRequest,
            ResponseFormat = WebMessageFormat.Json,
            RequestFormat = WebMessageFormat.Json)]
       List<DC_Utilisateur> topusers();

       [OperationContract]
       [WebGet(
            UriTemplate = "getObjets/{idUtilisateur}",
            BodyStyle = WebMessageBodyStyle.WrappedRequest,
            ResponseFormat = WebMessageFormat.Json,
            RequestFormat = WebMessageFormat.Json)]
       List<DC_Objet> getObjets(String idUtilisateur);  
  

       [OperationContract]
       [WebGet(
            UriTemplate = "resurrection/{joueur}",
            BodyStyle = WebMessageBodyStyle.WrappedRequest,
            ResponseFormat = WebMessageFormat.Json,
            RequestFormat = WebMessageFormat.Json)]
       int resurrection(String joueur);

       [OperationContract]
       [WebGet(
            UriTemplate = "timestamp",
            BodyStyle = WebMessageBodyStyle.WrappedRequest,
            ResponseFormat = WebMessageFormat.Json,
            RequestFormat = WebMessageFormat.Json)]
       Int32 timestamp();
    }
}
